package com.example.pongv1;

import com.example.pongv1.PongScene;

public class IntelligenceArtificielle implements Constantes{
	
	
	
	private LEVEL IAlevel; 
		
	public IntelligenceArtificielle()
	{
		set_IALEVEL(LEVEL.IALEVEL1)  ;      
	}
	
	public IntelligenceArtificielle(LEVEL Level)
	{
		set_IALEVEL(Level)  ;      
	}
	
	public LEVEL get_IALEVEL(){
		
		return IAlevel;
	}
	
	public void set_IALEVEL(LEVEL Level)
	{
	IAlevel=Level;
	}
	
	public void executeIA(Balle balle,Joueur IAjoueur)
	{
		float bally = balle.get_boddy().getPosition().y;
		final float ballx = balle.get_boddy().getPosition().x;
		switch (this.IAlevel)
		{
		case IALEVEL1:
			 
			if (bally > IAjoueur.get_paddle().getPosition().y && ballx >(CAMERA_WIDTH/50)/3)
			{
				IAjoueur.get_paddle().setTransform(IAjoueur.get_paddle().getPosition().x, IAjoueur.get_paddle().getPosition().y+paddle2speed/2, 0);
			}
			if (bally < IAjoueur.get_paddle().getPosition().y && ballx > (CAMERA_WIDTH/50)/3)
			{
				IAjoueur.get_paddle().setTransform(IAjoueur.get_paddle().getPosition().x, IAjoueur.get_paddle().getPosition().y-paddle2speed/2, 0);
			}
				
			break;
		case IALEVEL2:
			 				
			if (bally > IAjoueur.get_paddle().getPosition().y && ballx >0)
			{
				IAjoueur.get_paddle().setTransform(IAjoueur.get_paddle().getPosition().x, IAjoueur.get_paddle().getPosition().y+paddle2speed, 0);
			}
			
			
			if (bally < IAjoueur.get_paddle().getPosition().y && ballx >0)
			{
				IAjoueur.get_paddle().setTransform(IAjoueur.get_paddle().getPosition().x, IAjoueur.get_paddle().getPosition().y-paddle2speed, 0);
			}
			
			 if (ballx <0)
				{
					IAjoueur.get_paddle().setTransform(IAjoueur.get_paddle().getPosition().x, 0, 0);
				}
			break;
		case IALEVEL3:
			
			break;
		case IALEVEL4:
			break;
		case IALEVEL5:
			if (bally > IAjoueur.get_paddle().getPosition().y)
			{
				IAjoueur.get_paddle().setTransform(IAjoueur.get_paddle().getPosition().x, IAjoueur.get_paddle().getPosition().y+paddle2speed, 0);
			}
			if (bally < IAjoueur.get_paddle().getPosition().y)
			{
				IAjoueur.get_paddle().setTransform(IAjoueur.get_paddle().getPosition().x, IAjoueur.get_paddle().getPosition().y-paddle2speed, 0);
			}
			break;
		case IALEVEL6:
			break;
		case IALEVEL7:
			break;
		case IALEVEL8:
			if (bally > IAjoueur.get_paddle().getPosition().y && ballx >(CAMERA_WIDTH/50)/3)
			{
				IAjoueur.get_paddle().setTransform(IAjoueur.get_paddle().getPosition().x, IAjoueur.get_paddle().getPosition().y+paddle2speed*2, 0);
			}
			if (bally < IAjoueur.get_paddle().getPosition().y && ballx > (CAMERA_WIDTH/50)/3)
			{
				IAjoueur.get_paddle().setTransform(IAjoueur.get_paddle().getPosition().x, IAjoueur.get_paddle().getPosition().y-paddle2speed*2, 0);
			}
			break;
		case IALEVEL9:
			break;
		case IALEVEL10:
			break;
		default:
				break;
			
		}
	
	}

}
